package com.lgr.store.service;


import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.lgr.store.dao.EmpDAO;
import com.lgr.store.utils.PageObject;
import com.lgr.store.vo.DepVo;
import com.lgr.store.vo.EmpVo;

import javax.annotation.Resource;
import java.util.List;

@Service
public class EmpService {
    @Resource
    EmpDAO empDAO;

    //修改密码

    @Transactional
    public void updatePwd(String empId,String password){
        empDAO.updatePwd(password,empId);
    }
    //验证密码
    @Transactional
    public boolean findPwd(String password,String empId){
        boolean b=false;
        String pwd=empDAO.findPwd(password,empId);
        if(pwd!=null){
            b=true;
        }
        return  b;
    }

    //系统登录
    @Transactional
    public EmpVo login(EmpVo emp){
        return empDAO.login(emp);
    }

    //查询
    @Transactional
    public List<EmpVo> list(){
        return empDAO.list();
    }

    //新增
    @Transactional
    public void add(EmpVo emp){
        empDAO.add(emp);
    }
    //删除
    @Transactional
    public void delete(String empId){
        empDAO.deleteById(empId);
    }
    //修改
    @Transactional
    public void update(EmpVo emp){
        empDAO.update(emp);
    }
    //修改密码
    @Transactional
    public void updatePartFiled(EmpVo emp){
        empDAO.updatePartFiled(emp);
    }

    //修改状态
    @Transactional
    public void updateStatus(EmpVo emp){
        empDAO.updateStatus(emp);
    }

    //初始化密码
    public void updatePassword(EmpVo emp){
        empDAO.updatePassword(emp);
    }

    //分页查询员工
    @Transactional
    public List<EmpVo> list(EmpVo emp,EmpVo emp2,PageObject pager){
        List<EmpVo>empList= empDAO.listAll(emp,emp2,pager);
        return empList;
    }
    //验证手机号是否唯一
    @Transactional
    public int getPhone(String phone,String empId) {
        return empDAO.getPhone(phone,empId);
    }

    //获取记录数
    @Transactional
    public int count(EmpVo emp,EmpVo emp2){
        return empDAO.getcount(emp,emp2);
    }

    //获取一条部门学校
    public DepVo findDep(String depName){
        return empDAO.findDep(depName);
    }



    //获取一条员工信息
    public EmpVo findById(String empId){
        return empDAO.findById(empId);
    }

    //查询部门
    public List<DepVo> listDep(){
        return empDAO.listDep();
    }

    //查询部门下面是否还有子部门
    @Transactional
    public List<DepVo>listDeppar(Integer parentId){
        List<DepVo>depList= empDAO.listDeppar(parentId);
        return depList;
    }
}